Computer systems provide many different modes of communication through which users can send messages. These modes of communication include electronic mail, Voice over Internet Protocol (“VoIP”), instant messaging, voice mail, and so on. Typically, different communication client applications are used to support different modes of communication. A user who wants to communicate using instant messaging and electronic mail would need to have installed on their computer system an electronic mail client application and an instant messaging client application. Each communication client application, however, provides its own interface or context for its messages. An electronic mail client application may provide a context that includes from, to, subject, and input fields and icons for creating messages, sending messages, replying to messages, resolving addresses, and so on. An instant messaging client application may provide a context that includes a list of contacts that are online, a pop-up window that is displayed when a message arrives, and a chat window for displaying and inputting instant messages.
A sender who wants to send a message to a recipient may want to select a mode of communication that is most appropriate given the “presence” of the recipient. Users may make their presence information available so that other users can decide how best to communicate with them. The presence information may indicate whether a user is logged on (“online”) with an instant messaging service or is logged off (“offline”). Presence information may also provide more detailed information about the availability of the user. For example, even though a user is online, that user may be away from their computer in a meeting. In such a case, the presence information may indicate “online” and “in a meeting.” The presence information may indicate various levels of “presence.” For example, “offline” is a low level of presence, “online—in a meeting” is a higher level of presence, and “online—at desk” is an even higher level of presence. A publishing user (“publisher”) makes their presence information available to others by publishing their presence information to a presence server. The presence server then provides the presence information to subscribing users (“subscribers”). Thus, a presence server may use a subscriber/publisher model to provide the presence information. Whenever the presence information of a user changes, the presence server is notified of the change by that user's computer system and in turn notifies the subscribing users of the change.
A recipient may decide to reply to a message using a mode of communication different from the mode of communication of the original message. For example, a recipient viewing an electronic mail message may reply using instant messaging to provide the response immediately because the sender of the electronic mail message is currently online as indicated by the sender's presence information. In such a case, the recipient would move from the electronic mail client application to the instant messaging client application to send the reply. Similarly, a recipient upon receiving an instant message may reply using VoIP to fully explain the reply because the sender is currently not in a meeting as indicated by the sender's presence information.
A difficulty with sending replies to messages using different modes of communication is that switching communication client applications may cause a user to lose their train of thought. For example, after starting up or switching to an instant messaging client application, the user may not fully remember the substance of their intended reply. Another difficulty is that the content of the original message and the reply message are stored separately. In particular, when a recipient receives a reply that is in a mode different from the mode of the original message, the recipient will not be provided the content of the original message in the reply, unless the sender of the reply copied the content over to the reply. Another difficulty is that the original message and the reply are archived separately with no indication that they form a message thread.